import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css';
import "./assets/styles/index.less"
import textMixinA from "./mixins/testMixinA"
import * as filters from "./filters"
import JsonViewer from "vue-json-viewer";
import Vant from 'vant';
import 'vant/lib/index.css';


Vue.directive("hello", {
  bind: function (el, bingind) {
    el.style["color"] = bingind.value;
    console.log();
    console.log("1 - bind",el.parentNode);
  },
  inserted: function (el, bingind) {
    el.style["color"] = bingind.value;
    console.log("2 - insert",el.parentNode);
  },
  update: function (el, bingind) {
    el.style["color"] = bingind.value;
    console.log("3 - update");
  },
  componentUpdated: function (el, bingind) {
    el.style["color"] = bingind.value;
    console.log('4 - componentUpdated');
  },
  unbind: function () {
    console.log('5 - unbind');
  }
})

Vue.use(ElementUI);
Vue.mixin(textMixinA);

Object.keys(filters).forEach(key => {
  Vue.filter(key, filters[key])
})


Date.prototype.format = function(fmt) {
  //author: meizz
  var o = {
    "M+" : this.getMonth()+1,                 //月份
    "d+" : this.getDate(),                    //日
    "h+" : this.getHours(),                   //小时
    "m+" : this.getMinutes(),                 //分
    "s+" : this.getSeconds(),                 //秒
    "q+" : Math.floor((this.getMonth()+3)/3), //季度
    "S"  : this.getMilliseconds()             //毫秒
  };
  if(/(y+)/.test(fmt))
    fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
  for(var k in o)
    if(new RegExp("("+ k +")").test(fmt))
      fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
  return fmt;
};

Vue.config.productionTip = false
Vue.use(JsonViewer);
Vue.use(Vant);
new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
